// Koa 项目学习
// koa 中间件
// koa 路由级中间件
let Koa = require('koa') //引入koa
let router = require('koa-router')() //引入koa-router并且实例化

let app = new Koa() // 实例化

// 如果只写一个参数（方法），则代表匹配所有路由
// 如果不写 next，这个路由将不会向下匹配
app.use( async (ctx, next) => {

  console.log(new Date()) // 匹配路由之前，打印日期

  await next() // 当前路由匹配完成以后，继续向下匹配

})

// 使用了next之后，匹配到news路由以后继续向下匹配路由
router.get('/news', async (ctx, next) => {
  console.log('welcome to nesw page')
  await next()
})

router.get('/news', async (ctx) => {
  ctx.body = "this is news page"
})

app.use(router.routes()) //启动路由
app.use(router.allowedMethods()) //建议配置，可以配置，也可以不配置

app.listen(3000) // 监听端口